local voucherId = ARGV[1];   -- luna脚本索引从1开始而不是0
local userId = ARGV[2];
local stockPrefix = 'seckill:stock:'
local orderPrefix = 'seckill:order:'
-- luna语言中，字符串拼接使用的是..
local stockKey = stockPrefix..voucherId;   --某个优惠券的剩余库存
local orderKey = orderPrefix..voucherId;    --某个优惠券下单的用户id

-- redis中的get命令返回的是子符串，在luna中获得这个值后，需要调用tonumber函数转为数字才可以进行比较
if(tonumber(redis.call('get', stockKey)) <= 0) then
    return 1
end
if(redis.call('SISMEMBER', orderKey, userId) == 1) then
    return 2
end
-- 扣减库存
redis.call('INCRBY', stockKey, -1);
-- 保存下订单的用户id
redis.call('SADD', orderKey, userId);
return 0